SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件 您所在的位置:网站首页 gorm update执行数据库有的更新有的不更新 SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件

SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件

2023-09-06 18:26| 来源: 网络整理| 查看: 265

SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件

示例代码:https://github.com/miqt/MultiProgressKV/blob/master/MultiProgressKV/src/main/java/com/miqt/multiprogresskv/DBHelper.java

例如想实现以下逻辑

if (db has name ==小明 && 身高 == 170cm) update 。。。。 else insert 。。。。

可以参考以下SQL:

CREATE TABLE [TABLE_NAME]( [id] INTEGER PRIMARY KEY AUTOINCREMENT, [name] TEXT NOT NULL , [attr] TEXT NOT NULL , [value] TEXT NOT NULL ); CREATE UNIQUE INDEX [TABLE_NAME] ON [TABLE_NAME]( [name], [attr]);

CREATE UNIQUE INDEX [TABLE_NAME] 声明了只有name,和attr都重复才算唯一索引,这适用于类似插入一本书的场景,一本书的书名和作者只可能有一个,而单独的书名,和作者本身,可能对应很多本书。

以下语句执行,则是有则更新,无则插入的效果,以下SQL执行多次只会生成一行结果,而修改name,或者attr任意一个列,则又会新插入一个。

REPLACE INTO TABLE_NAME ( name , attr , value ) VALUES ( '《西游记》' , '作者' , '吴承恩' ) ;


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有